/*
 * Copyright 2011-2012 by RICHWARE SYSTEMS Corp., All rights reserved.
 * 
 * This software is the confidential and proprietary information of RICHWARE
 * SYSTEMS Corp. ("Confidential Information").
 */
package com.yonginitagmaker.util;

import android.app.AlertDialog;
import android.app.AlertDialog.Builder;
import android.content.Context;
import android.content.DialogInterface;
import android.widget.Toast;

public class Alert
{
	public final static int	CANCEL	= -1;
	public final static int	BUTTON1	= 1;
	public final static int	BUTTON2	= 2;
	public final static int	BUTTON3	= 3;
	public final static int	BUTTON4	= 4;

	private static Toast	mToast;
	private static int		mToastTime;

	/********************************************************************************* 기본 팝업 *********************************************************************************/

	/**
	 * 기본 얼럿 (확인버튼)
	 * 
	 * @param message
	 * @return
	 */
	public AlertDialog.Builder showAlert(Context context, String message)
	{
		return showAlert(context, null, message, true, "확인");
	}

	public AlertDialog.Builder showAlert(Context context, int messageRes, boolean cancelable, String... btns)
	{
		return showAlert(context, context.getResources().getString(messageRes), cancelable, btns);
	}

	/**
	 * 일반 팝업 메시지만적용(버튼은 최대 두개까지)
	 * 
	 * @param message
	 * @return
	 */
	public AlertDialog.Builder showAlert(Context context, String message, boolean cancelable, String... btns)
	{
		return showAlert(context, null, message, cancelable, btns);
	}

	public AlertDialog.Builder showAlert(Context context, int titleRes, String message, boolean cancelable, String... btns)
	{
		return showAlert(context, context.getResources().getString(titleRes), message, cancelable, btns);
	}

	/**
	 * 일반 팝업 메시지,타이틀적용(버튼은 최대 두개까지)
	 */
	public AlertDialog.Builder showAlert(Context context, String title, String message, boolean cancelable, String... btns)
	{
		AlertDialog.Builder builder = new Builder(context);
		builder.setCancelable(cancelable);
		builder.setTitle(title);
		builder.setMessage(message);
		builder.setOnCancelListener(new DialogInterface.OnCancelListener()
		{

			@Override
			public void onCancel(DialogInterface dialog)
			{
				if(mListener != null)
					mListener.onClose(dialog, CANCEL);
			}
		});
		if(btns != null)
		{
			if(btns.length == 2)
			{
				builder.setPositiveButton(btns[0], new DialogInterface.OnClickListener()
				{

					@Override
					public void onClick(DialogInterface dialog, int which)
					{
						if(mListener != null)
							mListener.onClose(dialog, BUTTON1);
					}
				});
				builder.setNegativeButton(btns[1], new DialogInterface.OnClickListener()
				{

					@Override
					public void onClick(DialogInterface dialog, int which)
					{
						if(mListener != null)
							mListener.onClose(dialog, BUTTON2);
					}
				});
			}
			else
			{
				builder.setPositiveButton(btns[0], new DialogInterface.OnClickListener()
				{

					@Override
					public void onClick(DialogInterface dialog, int which)
					{
						if(mListener != null)
							mListener.onClose(dialog, BUTTON1);
					}
				});
			}
		}
		builder.show();

		return builder;
	}

	/********************************************************************************* 일반 커스텀 팝업 *********************************************************************************/

	// public Dialog showCustomAlert(Context context, String message)
	// {
	// return showCustomAlert(context, "", message, true, false);
	// }
	//
	// /**
	// * 커스텀 팝업(1버튼)
	// */
	// public Dialog showCustomAlert(Context context, String title, String
	// message, boolean cancelable, boolean isFullScreen)
	// {
	// final Dialog alert = new Dialog(context, isFullScreen ?
	// android.R.style.Theme_Translucent_NoTitleBar_Fullscreen :
	// android.R.style.Theme_Translucent_NoTitleBar);
	//
	// WidgetPopBase base = new WidgetPopBase(context,
	// R.layout.item_alert_one_button);
	//
	// if(!FormatUtil.isNullorEmpty(title))
	// base.setTitle(title);
	//
	// if(!FormatUtil.isNullorEmpty(message))
	// base.setContent(message);
	//
	// base.setOnPopBtnClickListener(new PopBtnClickListener()
	// {
	// @Override
	// public void onClick(View v, int pos)
	// {
	// if(mListener != null)
	// mListener.onClose(alert, pos);
	//
	// alert.dismiss();
	// }
	// });
	// alert.setContentView(base);
	// alert.setCancelable(cancelable);
	// alert.setOnCancelListener(new OnCancelListener()
	// {
	// @Override
	// public void onCancel(DialogInterface dialog)
	// {
	//
	// if(mListener != null)
	// mListener.onClose(dialog, CANCEL);
	// alert.dismiss();
	//
	// }
	// });
	// alert.show();
	//
	// return alert;
	// }
	//
	// public Dialog showCustomAlert2(Context context, String message, boolean
	// cancelable)
	// {
	// return showCustomAlert2(context, "", message, cancelable);
	// }
	//
	// public Dialog showCustomAlert2(Context context, int messageRes, boolean
	// cancelable)
	// {
	// String message = context.getResources().getString(messageRes);
	// return showCustomAlert2(context, "", message, cancelable);
	// }
	//
	// /**
	// * 커스텀 팝업(2버튼)
	// */
	// public Dialog showCustomAlert2(Context context, String title, String
	// message, boolean cancelable)
	// {
	// final Dialog alert = new Dialog(context,
	// android.R.style.Theme_Translucent_NoTitleBar);
	//
	// WidgetPopBase base = new WidgetPopBase(context,
	// R.layout.item_alert_two_button);
	//
	// if(!FormatUtil.isNullorEmpty(title))
	// base.setTitle(title);
	//
	// if(!FormatUtil.isNullorEmpty(message))
	// base.setContent(message);
	//
	// base.setOnPopBtnClickListener(new PopBtnClickListener()
	// {
	// @Override
	// public void onClick(View v, int pos)
	// {
	// if(mListener != null)
	// mListener.onClose(alert, pos);
	// alert.dismiss();
	// }
	// });
	// alert.setContentView(base);
	// alert.setCancelable(cancelable);
	// alert.setOnCancelListener(new OnCancelListener()
	// {
	// @Override
	// public void onCancel(DialogInterface dialog)
	// {
	// if(mListener != null)
	// mListener.onClose(dialog, CANCEL);
	// alert.dismiss();
	// }
	// });
	// alert.show();
	//
	// return alert;
	// }
	//
//	/**
//	 * 카메라 팝업
//	 */
//	public Dialog showAlertPhoto(Context context, boolean hasImage, boolean isFullScreen)
//	{
//		final Dialog alert = new Dialog(context, isFullScreen ? android.R.style.Theme_Translucent_NoTitleBar_Fullscreen : android.R.style.Theme_Translucent_NoTitleBar);
//		alert.setContentView(R.layout.item_alert_camera);
//		Button btnAlbum = (Button) alert.findViewById(R.id.btnAlbum);
//		Button btnCamera = (Button) alert.findViewById(R.id.btnCamera);
//		Button btnCancel = (Button) alert.findViewById(R.id.btnCancel);
//
//		btnCancel.setVisibility(hasImage ? View.VISIBLE : View.GONE);
//
//		btnCamera.setOnClickListener(new OnClickListener()
//		{
//			@Override
//			public void onClick(View v)
//			{
//				if(mListener != null)
//				{
//					mListener.onClose(null, Alert.BUTTON1);
//				}
//				alert.dismiss();
//			}
//		});
//		btnAlbum.setOnClickListener(new OnClickListener()
//		{
//
//			@Override
//			public void onClick(View v)
//			{
//				if(mListener != null)
//				{
//					mListener.onClose(null, Alert.BUTTON2);
//				}
//				alert.dismiss();
//			}
//		});
//		btnCancel.setOnClickListener(new OnClickListener()
//		{
//
//			@Override
//			public void onClick(View v)
//			{
//				if(mListener != null)
//				{
//					mListener.onClose(null, Alert.BUTTON3);
//				}
//				alert.dismiss();
//			}
//		});
//		alert.setOnCancelListener(new OnCancelListener()
//		{
//
//			@Override
//			public void onCancel(DialogInterface dialog)
//			{
//				if(mListener != null)
//				{
//					mListener.onClose(null, Alert.CANCEL);
//				}
//			}
//		});
//
//		alert.show();
//
//		return alert;
//	}

//	/**
//	 * 기능 팝업(핫플 스타)
//	 */
//	public Dialog showAlertFunction(Context context, boolean isFullScreen)
//	{
//		final Dialog alert = new Dialog(context, isFullScreen ? android.R.style.Theme_Translucent_NoTitleBar_Fullscreen : android.R.style.Theme_Translucent_NoTitleBar);
//		alert.setContentView(R.layout.item_alert_function);
//
//		Button btnPopup0 = (Button) alert.findViewById(R.id.btnPopup0);
//		Button btnPopup1 = (Button) alert.findViewById(R.id.btnPopup1);
//		Button btnPopup2 = (Button) alert.findViewById(R.id.btnPopup2);
//		Button btnPopup3 = (Button) alert.findViewById(R.id.btnPopup3);
//		Button btnPopup4 = (Button) alert.findViewById(R.id.btnPopup4);
//
//		btnPopup0.setOnClickListener(new OnClickListener()
//		{
//			@Override
//			public void onClick(View v)
//			{
//				if(mListener != null)
//				{
//					mListener.onClose(null, Alert.BUTTON1);
//				}
//				alert.dismiss();
//			}
//		});
//		btnPopup1.setOnClickListener(new OnClickListener()
//		{
//
//			@Override
//			public void onClick(View v)
//			{
//				if(mListener != null)
//				{
//					mListener.onClose(null, Alert.BUTTON2);
//				}
//				alert.dismiss();
//			}
//		});
//		btnPopup2.setOnClickListener(new OnClickListener()
//		{
//
//			@Override
//			public void onClick(View v)
//			{
//				if(mListener != null)
//				{
//					mListener.onClose(null, Alert.BUTTON3);
//				}
//				alert.dismiss();
//			}
//		});
//		btnPopup3.setOnClickListener(new OnClickListener()
//		{
//
//			@Override
//			public void onClick(View v)
//			{
//				if(mListener != null)
//				{
//					mListener.onClose(null, Alert.BUTTON4);
//				}
//				alert.dismiss();
//			}
//		});
//		btnPopup4.setOnClickListener(new OnClickListener()
//		{
//
//			@Override
//			public void onClick(View v)
//			{
//				if(mListener != null)
//				{
//					mListener.onClose(null, Alert.CANCEL);
//				}
//				alert.dismiss();
//			}
//		});
//		alert.setOnCancelListener(new OnCancelListener()
//		{
//
//			@Override
//			public void onCancel(DialogInterface dialog)
//			{
//				if(mListener != null)
//				{
//					mListener.onClose(null, Alert.CANCEL);
//				}
//			}
//		});
//		alert.findViewById(R.id.basePopup).setOnClickListener(new OnClickListener()
//		{
//			@Override
//			public void onClick(View v)
//			{
//				if(mListener != null)
//				{
//					mListener.onClose(null, Alert.CANCEL);
//				}
//				alert.dismiss();
//			}
//		});
//		alert.findViewById(R.id.baseButtons).setOnTouchListener(new OnTouchListener()
//		{
//			@Override
//			public boolean onTouch(View v, MotionEvent event)
//			{
//				return true;
//			}
//		});
//
//		alert.show();
//
//		return alert;
//	}

	/********************************************************************************* 기타 커스텀 팝업 *********************************************************************************/

	// /**
	// * 무료연필 지급
	// *
	// * @param context
	// * @param title
	// * @param message
	// * @param cancelable
	// * @return
	// */
	// public Dialog showAlertPencil(Context context, String title, String
	// message, boolean cancelable)
	// {
	// final Dialog alert = new Dialog(context,
	// android.R.style.Theme_Translucent_NoTitleBar);
	//
	// WidgetPopBase base = new WidgetPopBase(context,
	// R.layout.item_alert_two_button);
	//
	// if(!FormatUtil.isNullorEmpty(title))
	// base.setTitle(title);
	//
	// if(!FormatUtil.isNullorEmpty(message))
	// base.setContent(message);
	//
	// base.setOnPopBtnClickListener(new PopBtnClickListener()
	// {
	// @Override
	// public void onClick(View v, int pos)
	// {
	// if(mListener != null)
	// mListener.onClose(alert, pos);
	// alert.dismiss();
	// }
	// });
	//
	// base.setPencil();
	// alert.setContentView(base);
	// alert.setCancelable(cancelable);
	// alert.setOnCancelListener(new OnCancelListener()
	// {
	// @Override
	// public void onCancel(DialogInterface dialog)
	// {
	// if(mListener != null)
	// mListener.onClose(dialog, CANCEL);
	// alert.dismiss();
	// }
	// });
	// alert.show();
	//
	// return alert;
	// }
	//
	// /**
	// * 힌트 선물
	// *
	// * @param context
	// * @param cancelable
	// * @return
	// */
	// public Dialog showAlertInputHint(Context context, boolean cancelable)
	// {
	// final Dialog alert = new Dialog(context,
	// android.R.style.Theme_Translucent_NoTitleBar);
	// alert.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
	// WidgetPopBase base = new WidgetPopBase(context,
	// R.layout.item_alert_two_button);
	//
	// final EditText edtInput = base.setInputBoxHint();
	// base.setOnPopInputpriceListener(new PopInputpriceListener()
	// {
	// @Override
	// public void onClick(String price, int pos)
	// {
	// switch (pos)
	// {
	// case Alert.BUTTON1:
	// if(mPriceListener != null)
	// {
	// CommonUtil.hideKeyPad(edtInput, true);
	// edtInput.clearFocus();
	//
	// alert.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
	//
	// mPriceListener.onClose(alert, pos, null);
	// alert.dismiss();
	// }
	//
	// break;
	//
	// case Alert.BUTTON2:
	// if(FormatUtil.isNullorEmpty(price) || price.equals("0"))
	// {
	// toastShort(alert.getContext(), "연필 수를 입력하세요.");
	// break;
	// }
	//
	// if(mPriceListener != null)
	// {
	// mPriceListener.onClose(alert, pos, price);
	// alert.dismiss();
	// }
	//
	// break;
	// }
	// }
	// });
	//
	// alert.setContentView(base);
	// alert.setCancelable(cancelable);
	// alert.setOnCancelListener(new OnCancelListener()
	// {
	// @Override
	// public void onCancel(DialogInterface dialog)
	// {
	// if(mListener != null)
	// mListener.onClose(dialog, CANCEL);
	// alert.dismiss();
	// }
	// });
	// alert.show();
	//
	// return alert;
	// }
	//
	// /**
	// * 배송지 입력
	// *
	// * @param context
	// * @param cancelable
	// * @return
	// */
	// public Dialog showAlertInputAddress(Context context, boolean cancelable)
	// {
	// final Dialog alert = new Dialog(context,
	// android.R.style.Theme_Translucent_NoTitleBar);
	// alert.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
	// WidgetPopBase base = new WidgetPopBase(context,
	// R.layout.item_alert_two_button);
	//
	// final GEditText[] inputs = base.setInputAddress();
	// base.setOnPopInputAddressListener(new PopInputAddressListener()
	// {
	// @Override
	// public void onClick(GEditText[] input, int pos)
	// {
	// switch (pos)
	// {
	// case Alert.BUTTON1:
	// if(mAddressListener != null)
	// {
	// CommonUtil.hideKeyPad(inputs[0], false);
	// CommonUtil.hideKeyPad(inputs[1], false);
	// CommonUtil.hideKeyPad(inputs[2], false);
	// inputs[0].clearFocus();
	// inputs[1].clearFocus();
	// inputs[2].clearFocus();
	//
	// alert.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
	//
	// mAddressListener.onClose(alert, pos, null);
	// alert.dismiss();
	// }
	//
	// break;
	//
	// case Alert.BUTTON2:
	//
	// String name = input[0].getText().toString();
	// String address = input[1].getText().toString();
	// String phone = input[2].getText().toString();
	//
	// if(FormatUtil.isNullorEmpty(name))
	// {
	// toastShort(alert.getContext(), "성함을 입력하세요.");
	// input[0].requestFocus();
	// break;
	// }
	// else if(FormatUtil.isNullorEmpty(address))
	// {
	// toastShort(alert.getContext(), "배송받을 주소를 입력하세요.");
	// input[1].requestFocus();
	// break;
	// }
	// else if(FormatUtil.isNullorEmpty(phone))
	// {
	// toastShort(alert.getContext(), "연락처를 입력하세요.");
	// input[2].setText("");
	// input[2].requestFocus();
	// break;
	// }
	//
	// if(mAddressListener != null)
	// {
	// mAddressListener.onClose(alert, pos, new String[] { name, address, phone
	// });
	// alert.dismiss();
	// }
	//
	// break;
	// }
	// }
	// });
	//
	// alert.setContentView(base);
	// alert.setCancelable(cancelable);
	// alert.setOnCancelListener(new OnCancelListener()
	// {
	// @Override
	// public void onCancel(DialogInterface dialog)
	// {
	// if(mListener != null)
	// mListener.onClose(dialog, CANCEL);
	// alert.dismiss();
	// }
	// });
	// alert.show();
	//
	// return alert;
	// }
	//
	// /**
	// * 악성글 신고
	// */
	// public Dialog showAlertReport(Context context, boolean cancelable)
	// {
	// final Dialog alert = new Dialog(context,
	// android.R.style.Theme_Translucent_NoTitleBar);
	// alert.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
	// WidgetPopBase base = new WidgetPopBase(context,
	// R.layout.item_alert_two_button);
	//
	// final EditText edtReport = base.setInputReport();
	// base.setOnPopInputReportListener(new PopInputReportListener()
	// {
	// @Override
	// public void onClick(EditText input, int pos)
	// {
	// String contents = input.getText().toString();
	// switch (pos)
	// {
	// case Alert.BUTTON1:
	// if(mReportListener != null)
	// {
	// CommonUtil.hideKeyPad(edtReport, false);
	// edtReport.clearFocus();
	//
	// alert.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
	//
	// mReportListener.onClose(alert, pos, contents);
	// alert.dismiss();
	// }
	//
	// break;
	//
	// case Alert.BUTTON2:
	// if(FormatUtil.isNullorEmpty(contents))
	// {
	// toastShort(alert.getContext(), "내용을 입력하세요.");
	// input.requestFocus();
	// break;
	// }
	//
	// if(mReportListener != null)
	// {
	// mReportListener.onClose(alert, pos, contents);
	// alert.dismiss();
	// }
	//
	// break;
	// }
	// }
	// });
	//
	// base.setReport();
	// alert.setContentView(base);
	// alert.setCancelable(cancelable);
	// alert.setOnCancelListener(new OnCancelListener()
	// {
	// @Override
	// public void onCancel(DialogInterface dialog)
	// {
	// if(mListener != null)
	// mListener.onClose(dialog, CANCEL);
	// alert.dismiss();
	// }
	// });
	// alert.show();
	//
	// return alert;
	// }
	//
	// /**
	// * 당첨 확인
	// */
	// public Dialog showAlertGetWinner(Context context, boolean cancelable,
	// boolean isWinner)
	// {
	// final Dialog alert = new Dialog(context,
	// android.R.style.Theme_Translucent_NoTitleBar);
	//
	// WidgetPopBase base = new WidgetPopBase(context,
	// R.layout.item_alert_one_button_get_winner);
	// base.setGetWinner(isWinner);
	//
	// base.setOnPopBtnClickListener(new PopBtnClickListener()
	// {
	// @Override
	// public void onClick(View v, int pos)
	// {
	// if(mListener != null)
	// mListener.onClose(alert, pos);
	// alert.dismiss();
	// }
	// });
	//
	// alert.setContentView(base);
	// alert.setCancelable(cancelable);
	// alert.setOnCancelListener(new OnCancelListener()
	// {
	// @Override
	// public void onCancel(DialogInterface dialog)
	// {
	// if(mListener != null)
	// mListener.onClose(dialog, CANCEL);
	// alert.dismiss();
	// }
	// });
	// alert.show();
	//
	// return alert;
	// }
	//
	//
	// /**
	// * 프로필 팝업
	// */
	// public Dialog showAlertProfile(Context context, JSONObject userInfo)
	// {
	// LogUtil.e("userInfo : " + userInfo.toString());
	//
	// final Dialog alert = new Dialog(context,
	// android.R.style.Theme_Translucent_NoTitleBar);
	// alert.setContentView(R.layout.item_alert_profile);
	// final GImageView ImgProfile = (GImageView)
	// alert.findViewById(R.id.friendImgProfile);
	// TextView txtNickName = (TextView)
	// alert.findViewById(R.id.friendTxtNickName);
	// TextView txtQuizTryCount = (TextView)
	// alert.findViewById(R.id.friendTxtQuizTryCount);
	// TextView txtAnswerRate = (TextView)
	// alert.findViewById(R.id.friendTxtAnswerRate);
	// TextView txtLevel = (TextView) alert.findViewById(R.id.friendTxtLevel);
	//
	// String nickName = JSONUtil.getString(userInfo, "nickName", "");
	// String level = JSONUtil.getString(userInfo, "level", "");
	// String levelText = JSONUtil.getString(userInfo, "levelText", "");
	// double answerRate = JSONUtil.getDouble(userInfo, "rightPercent", 0);
	// String tryCount = JSONUtil.getString(userInfo, "joinQuizCount", "");
	// final String imgUrl = JSONUtil.getString(userInfo, "imgUrl", "");
	//
	// txtNickName.setText(nickName);
	// txtQuizTryCount.setText(tryCount + "회");
	// txtAnswerRate.setText(FormatUtil.getKmData(answerRate) + "%");
	// txtLevel.setText("LV." + level + " " + levelText);
	//
	// ImgProfile.setImageDrawable(null);
	// ImgProfile.setCallback(new Callback()
	// {
	// @Override
	// public void callback(int flag, Object tag, Bitmap bmp)
	// {
	// if(flag == GImageView.COMPLETE && imgUrl.equals((String) tag))
	// {
	// if(bmp != null)
	// ImgProfile.setImageBitmap(bmp);
	// else
	// ImgProfile.setImageDrawable(null);
	// }
	// }
	// });
	//
	// ImgProfile.setImageURL(ImageUtil.wrapImgUrl(imgUrl, "100"), imgUrl);
	//
	// alert.show();
	// return alert;
	// }

//	public Dialog showSelect(Context context, int selection, int size, final SelectAdapter adapter)
//	{
//		final Dialog alert = new Dialog(context, android.R.style.Theme_Translucent_NoTitleBar);
//		alert.setContentView(R.layout.item_alert_dropdown);
//		adapter.setSelectSize(size);
//		ListView list = (ListView) alert.findViewById(R.id.list);
//		list.setAdapter(adapter);
//		list.setSelection(selection);
//		Button btnOk = (Button) alert.findViewById(R.id.dropBtnOk);
//		Button btnCancel = (Button) alert.findViewById(R.id.dropBtnCancel);
//		final HashMap<Integer, JSONObject> backUpData = (HashMap<Integer, JSONObject>) adapter.getSelectMap().clone();
//		if(size == 1)
//		{
//			btnOk.setVisibility(View.GONE);
//			btnCancel.setVisibility(View.GONE);
//			adapter.setOnSelectListener(new IOnSelcetListener()
//			{
//
//				@Override
//				public void onSelet(int selectCnt)
//				{
//					alert.dismiss();
//					if(mListener != null)
//						mListener.onClose(alert, BUTTON1);
//				}
//			});
//		}
//		btnOk.setOnClickListener(new OnClickListener()
//		{
//
//			@Override
//			public void onClick(View v)
//			{
//				alert.dismiss();
//				if(mListener != null)
//					mListener.onClose(alert, BUTTON1);
//			}
//		});
//		btnCancel.setOnClickListener(new OnClickListener()
//		{
//
//			@Override
//			public void onClick(View v)
//			{
//				adapter.setSelectMap(backUpData);
//				alert.dismiss();
//				if(mListener != null)
//					mListener.onClose(alert, BUTTON2);
//			}
//		});
//		alert.setOnCancelListener(new OnCancelListener()
//		{
//			@Override
//			public void onCancel(DialogInterface dialog)
//			{
//				adapter.setSelectMap(backUpData);
//				if(mListener != null)
//					mListener.onClose(dialog, CANCEL);
//				alert.dismiss();
//
//			}
//		});
//		alert.setOnDismissListener(new OnDismissListener()
//		{
//
//			@Override
//			public void onDismiss(DialogInterface dialog)
//			{
//				if(backUpData != null)
//					backUpData.clear();
//			}
//		});
//		alert.show();
//		return alert;
//	}

	/********************************************************************************* 토스트 *********************************************************************************/

	public static void toastShort(Context context, String msg)
	{
		toast(context, msg, 1);
	}

	public static void toastShort(Context context, int msgRes)
	{
		String msg = context.getString(msgRes);
		toast(context, msg, 1);
	}

	public static void toastLong(Context context, String msg)
	{
		toast(context, msg, 2);
	}

	public static void toastLong(Context context, int msgRes)
	{
		String msg = context.getString(msgRes);
		toast(context, msg, 2);
	}

	private static void toast(Context context, String msg, int lengthType)
	{
		if(mToast == null)
		{
			switch (lengthType)
			{
				case 1:
					mToastTime = Toast.LENGTH_SHORT;
					break;

				case 2:
					mToastTime = Toast.LENGTH_LONG;
					break;
			}
			mToast = Toast.makeText(context.getApplicationContext(), msg, mToastTime);
			mToast.show();
			return;
		}
		mToast.setText(msg);
		mToast.show();
	}

	private OnCloseListener	mListener	= null;

	public void setOnCloseListener(OnCloseListener listener)
	{
		mListener = listener;
	}

	// private OnStringListener mStringListener = null;
	//
	// public void setOnStringListener(OnStringListener listener)
	// {
	// mStringListener = listener;
	// }
	//
	// private OnClosePriceListener mPriceListener = null;
	//
	// public void setOnClosePriceListener(OnClosePriceListener priceListener)
	// {
	// mPriceListener = priceListener;
	// }
	//
	// private OnCloseAddressListener mAddressListener = null;
	//
	// public void setOnCloseAddressListener(OnCloseAddressListener
	// addressListener)
	// {
	// mAddressListener = addressListener;
	// }
	//
	// private OnCloseReportListener mReportListener = null;
	//
	// public void setOnCloseReportListener(OnCloseReportListener
	// reportListener)
	// {
	// mReportListener = reportListener;
	// }
	//
	// public interface OnStringListener
	// {
	// public void onClose(DialogInterface dialog, int which, String str);
	// }

	public interface OnCloseListener
	{
		public void onClose(DialogInterface dialog, int which);
	}

}